const E = window.wangEditor;
const editor = new E('#content');
// 或者 const editor = new E( document.getElementById('div1') )
const editUrl = '/upload-img';//服务器访问地址
editor.customConfig.menus = [
    'head',  // 标题
    'bold',  // 粗体
    'fontSize',  // 字号
    'fontName',  // 字体
    'italic',  // 斜体
    'underline',  // 下划线
    'strikeThrough',  // 删除线
    'foreColor',  // 文字颜色//
    'backColor',  // 背景颜色
    'link',  // 插入链接
    'justify',  // 对齐方式
    'emoticon',  // 表情
    'image',  // 插入图片
    'table',  // 表格
    'undo',  // 撤销
    'redo'  // 重复
];
editor.customConfig.uploadImgShowBase64 = true;  // 使用 base64 保存图片
editor.customConfig.uploadImgServer = editUrl; // 上传图片到服务器
editor.customConfig.showLinkImg = false;// 隐藏“网络图片”tab
//配置属性名称，绑定请求的图片数据
//controller会用到，可以随便设置，但是一定要与controller一致
editor.customConfig.uploadFileName = 'img';
editor.customConfig.withCredentials = true;
// 将图片大小限制为 5M
editor.customConfig.uploadImgMaxSize = 5 * 1024 * 1024;
editor.customConfig.uploadImgHooks = {
    before: function (xhr, editor, files) {
        // 图片上传之前触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，files 是选择的图片文件

        // 如果返回的结果是 {prevent: true, msg: 'xxxx'} 则表示用户放弃上传
        // return {
        //     prevent: true,
        //     msg: '放弃上传'
        // }
    },
    success: function (xhr, editor, result) {
        // 图片上传并返回结果，图片插入成功之后触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，result 是服务器端返回的结果
        console.log(result);
    },
    fail: function (xhr, editor, result) {
        // 图片上传并返回结果，但图片插入错误时触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，result 是服务器端返回的结果
    },
    error: function (xhr, editor) {
        // 图片上传出错时触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象
    },
    timeout: function (xhr, editor) {
        // 图片上传超时时触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象
    },

    // 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式，可使用该配置
    // （但是，服务器端返回的必须是一个 JSON 格式字符串！！！否则会报错）
    customInsert: function (insertImg, result, editor) {
        // 图片上传并返回结果，自定义插入图片的事件（而不是编辑器自动插入图片！！！）
        // insertImg 是插入图片的函数，editor 是编辑器对象，result 是服务器端返回的结果

        // 举例：假如上传图片成功后，服务器端返回的是 {url:'....'} 这种格式，即可这样插入图片：
        let url = result.url;
        console.log(url);
        insertImg(url)
        // result 必须是一个 JSON 格式字符串！！！否则报错
    }
};

editor.create();
//富文本操作：
//1.wangEditor.min.js下载js
//2.普通配置
//    1.修改id
//    2.配置后端访问地址  const editUrl = '/upload-img';//服务器访问地址
//    3.后端必须返回一个图片地址，且必须以{url：“”}
function showImg(obj) {
    let url = getObjectURL(obj);
    console.log(url);
    if (url) {
        $("#imgShow").attr("src", url);
    }
}


//建立一個可存取到該file的url
function getObjectURL(obj) {
    //定义一个空文件
    let file = null;
    //判断当前的是否选择了文件
    if (obj.files && obj.files[0]) {
        file = obj.files[0];
    } else if (obj.files && obj.files.item(0)) {
        file = obj.files.item(0);
    }

    let url = null;
    if (window.createObjectURL != undefined) { // basic
        url = window.createObjectURL(file);
    } else if (window.URL != undefined) { // mozilla(firefox)
        url = window.URL.createObjectURL(file);
    } else if (window.webkitURL != undefined) { // webkit or chrome
        url = window.webkitURL.createObjectURL(file);
    }
    return url;
}

function save() {
    // let productData = {
    //     cuisineId: $("#cuisine").val(),
    //     productName: $("#productName").val(),
    //     imgHref: $("#imgHref")[0].files[0],
    //     normalPrice: $("#normalPrice").val(),
    //     price: $("#price").val(),
    //     content: editor.txt.html()
    // };
    let productData = new FormData();
    productData.append("cuisineId", $("#cuisine").val());
    productData.append("productName", $("#productName").val());
    productData.append("imgHref", $("#imgHref")[0].files[0]);
    productData.append("normalPrice", $("#normalPrice").val());
    productData.append("price", $("#price").val());
    productData.append("content", editor.txt.html());
    productData.append("isShow", $('input:radio[name=isShow]:checked').val());
    productData.append("isRecommend", $('#isRecommend').prop("checked"));
    let data = myFileAjax("/backimg/product/add", productData, "post");
    if (data.result == "success") {
        toRight("/html/back/product/productManage.html");
    } else {
        alert("新增产品失败")
    }
}